<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title>@keyframes</title>
<meta name="Description" content="CSS3参考手册之: @keyframes" />
<meta name="Keywords" content="@keyframes, 动画" />
<meta name="author" content="Joy Du(飘零雾雨), dooyoe@gmail.com, www.doyoe.com" />
<meta name="robots" content="all" />
<!--[if lte IE 8]>
<script src="../js/html5.js"></script>
<![endif]-->
<link rel="stylesheet" href="../skin/article.css" />
</head>
<body>
<nav id="guide" class="g-mod">
	<div class="from">
		<a href="http://css.doyoe.com/" target="_blank">CSS3参考手册</a>
		<span>&#187;</span>
		<a href="../index.htm" id="category" rel="rules" name="@keyframes">语法与规则列表</a>
		<span>&#187;</span>
	</div>
	<div class="to">
		<span class="label">相关内容：</span>
		<div class="g-combobox g-transition">
			<a href="?" class="g-transition target">
				<strong>其它语法与规则参考</strong>
				<span>选择其它项<!--[if lte IE 7]><ins>IE7 and earlier, Get to die</ins><![endif]--></span>
			</a>
			<div class="g-transition list">
				<ul>
					<!-- 插入快速分类导航 -->
				</ul>
			</div>
		</div>
	</div>
</nav>
<header id="hd">
	<section id="title" class="g-mod">
		<h1 class="tit">@keyframes</h1>
		<ul class="info">
			<li><strong>版本：CSS3</strong></li>
			<li>2015.9.6</li>
		</ul>
		<!-- 插入浏览器信息 -->
	</section>
</header>
<section id="bd">
	<section id="syntax" class="g-mod g-attr">
		<h2 class="tit">语法：</h2>
		<div class="cont">
			<p><strong>@keyframes</strong> <a href="../../values/textual/identifier.htm">&lt;identifier&gt;</a> { <a href="#dfn-syntax">&lt;keyframes-blocks&gt;</a> }</p>
			<p id="dfn-syntax"><strong>&lt;keyframes-blocks&gt;</strong>：[ [ from | to | <a href="../values/numeric/percentage.htm">&lt;percentage&gt;</a> ]{ sRules } ] [ [ , from | to | <a href="../values/numeric/percentage.htm">&lt;percentage&gt;</a> ]{ sRules } ]*</p>
		</div>
	</section>
	<section id="value" class="g-mod g-attr">
		<h2 class="tit">取值：</h2>
		<div class="cont">
			<dl>
				<dt><a href="../../values/textual/identifier.htm">&lt;identifier&gt;</a>：</dt>
				<dd>identifier定义一个动画名称</dd>
				<dt>&lt;keyframes-blocks&gt;：</dt>
				<dd>定义动画在每个阶段的样式，即帧动画。</dd>
			</dl>
		</div>
	</section>
	<section id="intro" class="g-mod g-attr">
		<h2 class="tit">说明：</h2>
		<div class="cont">
			<strong>指定动画名称和动画效果。</strong>
			<ul>
				<li><a href="@keyframes.htm">@keyframes</a>定义的动画名称用来被<a href="../properties/animation/animation-name.htm">animation-name</a>所使用。</li>
				<li>
					<strong>定义动画时，简单的动画可以直接使用关键字from和to，即从一种状态过渡到另一种状态：</strong>
					<div class="gquote">
						<p class="gquote-tit"><strong>示例代码：</strong></p>
						<blockquote class="gquote-cont"><code><xmp>@keyframes testanimations {
	from { opacity: 1; }
	to { opacity: 0; }
}</xmp></code></blockquote>
						<p class="gquote-info">其中testanimations是该动画的名字，该动画表示某个东西将逐渐消失。</p>
					</div>
				</li>
				<li>
					<strong>如果复杂的动画，可以混合<a href="../values/numeric/percentage.htm">&lt;percentage&gt;</a>去设置某个时间段内的任意时间点的样式：</strong>
					<div class="gquote">
						<p class="gquote-tit"><strong>示例代码：</strong></p>
						<blockquote class="gquote-cont"><code><xmp>@keyframes testanimations {
	from { transform: translate(0, 0); }
	20% { transform: translate(20px, 20px); }
	40% { transform: translate(40px, 0); }
	60% { transform: translate(60px, 20); }
	80% { transform: translate(80px, 0); }
	to { transform: translate(100px, 20px); }
}</xmp></code></blockquote>
					</div>
				</li>
				<li>
					<strong>当然，也可以不使用关键字from和to，而都使用<a href="../values/numeric/percentage.htm">&lt;percentage&gt;</a>：</strong>
					<div class="gquote">
						<p class="gquote-tit"><strong>示例代码：</strong></p>
						<blockquote class="gquote-cont"><code><xmp>@keyframes testanimations{
	0% { transform: translate(0, 0); }
	20% { transform: translate(20px, 20px); }
	40% { transform: translate(40px, 0); }
	60% { transform: translate(60px, 20px); }
	80% { transform: translate(80px, 0); }
	100% { transform: translate(100px, 20px); }
}</xmp></code></blockquote>
						<p class="gquote-info">注意，这里的0%不能简写成0，0是非标准语法（虽然被某些浏览器所支持）。</p>
					</div>
				</li>
			</ul>
		</div>
	</section>
	<section id="compatible" class="g-mod g-attr">
		<h2 class="tit">兼容性：</h2>
		<div class="cont">
			<ul class="support-type">
				<li><span class="support">浅绿</span> = 支持</li>
				<li><span class="unsupport">红色</span> = 不支持</li>
				<li><span class="partsupport">粉色</span> = 部分支持</li>
			</ul>
			<table class="g-data">
				<thead>
					<tr>
						<th>IE</th>
						<th>Firefox</th>
						<th>Chrome</th>
						<th>Safari</th>
						<th>Opera</th>
						<th>iOS Safari</th>
						<th>Android Browser</th>
						<th>Android Chrome</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td class="unsupport">6.0-9.0</td>
						<td class="unsupport">2.0-4.0</td>
						<td class="support" rowspan="3">4.0-43.0<br /><sup class="fix">-webkit-</sup></td>
						<td class="unsupport">3.1-3.2</td>
						<td class="support" rowspan="3">15.0-29.0<br /><sup class="fix">-webkit-</sup></td>
						<td class="support" rowspan="3">3.2-8.1<br /><sup class="fix">-webkit-</sup></td>
						<td class="partsupport">2.1-3.0<br /><sup class="fix">-webkit-</sup></td>
						<td class="support" rowspan="3">18.0-40.0<br /><sup class="fix">-webkit-</sup></td>
					</tr>
					<tr>
						<td class="support" rowspan="2">10.0+</td>
						<td class="support">5.0-15.0<br /><sup class="fix">-moz-</sup></td>
						<td class="support" rowspan="2">4.0-8.1<br /><sup class="fix">-webkit-</sup></td>
						<td class="support" rowspan="2">4.0+<br /><sup class="fix">-webkit-</sup></td>
					</tr>
					<tr>
						<td class="support">16.0</td>
					</tr>
				</tbody>
			</table>
		</div>
	</section>
	<section id="example" class="g-mod g-attr">
		<h2 class="tit">示例：</h2>
		<div class="cont">
			<textarea cols="90" rows="10">
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title>@keyframes_CSS参考手册_web前端开发参考手册系列</title>
<meta name="author" content="Joy Du(飘零雾雨), dooyoe@gmail.com, www.doyoe.com" />
<style>
#sport{position:relative;width:500px;height:400px;border:1px solid #ddd;}
#staff{position:absolute;z-index:3;bottom:10px;left:10px;overflow:hidden;width:180px;height:8px;border-radius:3px;background:#ddd;line-height:20;
	-webkit-animation:staff 3s linear;
	animation:staff 3s linear;
}
#ball{position:absolute;z-index:3;bottom:20px;left:90px;overflow:hidden;width:30px;height:30px;border-radius:15px;box-shadow:0 0 10px rgba(204,102,0,.8);background:#F6D66E;background:linear-gradient(top,#fff,#F6D66E);line-height:20;
	-webkit-animation:ball 3s linear;
	animation:ball 3s linear;
}
@-webkit-keyframes ball{
	0%{-webkit-transform:translate(0,0);}
	5%{-webkit-transform:translate(-90px,-100px);}
	18%{-webkit-transform:translate(0,-350px);}
	35%{-webkit-transform:translate(200px,0);}
	46%{-webkit-transform:translate(380px,-160px);}
	60%{-webkit-transform:translate(250px,-350px);}
	78%{-webkit-transform:translate(60px,0);}
	100%{-webkit-transform:translate(0,0);}
}
@keyframes ball{
	0%{transform:translate(0,0);}
	5%{transform:translate(-90px,-100px);}
	18%{transform:translate(0,-350px);}
	35%{transform:translate(200px,0);}
	46%{transform:translate(380px,-160px);}
	60%{transform:translate(250px,-350px);}
	78%{transform:translate(60px,0);}
	100%{transform:translate(0,0);}
}
@-webkit-keyframes staff{
	0%{-webkit-transform:translate(0,0);}
	6%{-webkit-transform:translate(260px,0);}
	20%{-webkit-transform:translate(300px,0);}
	30%{-webkit-transform:translate(300px,0);}
	40%{-webkit-transform:translate(200px,0);}
	65%{-webkit-transform:translate(40px,0);}
	79%{-webkit-transform:translate(0,0);}
	100%{-webkit-transform:translate(0,0);}
}
@keyframes staff{
	0%{transform:translate(0,0);}
	6%{transform:translate(260px,0);}
	20%{transform:translate(300px,0);}
	30%{transform:translate(300px,0);}
	40%{transform:translate(200px,0);}
	65%{transform:translate(40px,0);}
	79%{transform:translate(0,0);}
	100%{transform:translate(0,0);}
}
</style>
</head>
<body>
<div id="sport">
	<span id="ball">弹球</span>
	<span id="staff">滑杆</span>
</div>
</body>
</html>
			</textarea>
			<p><input type="button" value="运行" class="g-btn g-btn-sure" /></p>
		</div>
	</section>
</section>
<footer id="ft">
	<aside id="rights" class="g-mod">
		<!-- 插入浏览器及版权信息 -->
	</aside>
</footer>
<script src="../js/jquery.js"></script>
<script src="../js/inner.js"></script>
</body>
</html>